/*
 * NovoEmail.java
 * Versão: 1.0
 * Data de Criação : 22/08/2011
 * Copyright (c) 2008-2011 Universidade Estadual de
 * Londrina - UEL.
 * Rodovia Celso Garcia Cid, Cidade Universitária,
 * Londrina, Paraná
 * Brasil
 * Todos os direitos reservados.
 *
 * Este software é de informação confidenciais de
 * propriedade da UEL Univesidade Estadual de Londrina.
 * ("Informações Confidenciais "). Você não poderá
 * compartilhar estas informações por ser de carater
 * confidencial e usará somente em acordo com os termos de
 * licençada UEL
 */
package br.uel.ati.jsfvalidator;

import br.uel.ati.validacao.Email;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.ValidatorException;

/**
 * Esta classe verifica se o novo e-mail digitado pelo usuário é válido, ou seja,
 * se segue o padrão "*@*.*".
 *
 * @author Humberto Ferreira da Luz Junior
 * @version 1.0
 */
@FacesValidator("br.uel.ati.validator.novoEmail")
public class NovoEmail implements javax.faces.validator.Validator {

    /**
     * Verifica se o e-mail é válido.
     *
     * @throws ValidatorException indica que o e-mail é inválido.
     */
    @Override
    public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
        if (!Email.validar((String) value)) {
            FacesMessage message = new FacesMessage("E-mail inválido!");
            message.setSeverity(FacesMessage.SEVERITY_ERROR);
            throw new ValidatorException(message);
        }
    }
}
